bitkeeper revision 1.720 (402b8772rYEU_Vd9LCqLXqSheY4-iQ)
authorach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>
Thu, 12 Feb 2004 14:02:26 +0000 (14:02 +0000)
committerach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>
Thu, 12 Feb 2004 14:02:26 +0000 (14:02 +0000)
turn off watchdog in pdb

tools/examples/Makefile
tools/xc/py/Makefile
xen/arch/i386/pdb-stub.c

index a30340d70128e5433beb5b512bf0a2a5f3430b8e..626b08c915777fcb1752beca758c0b05dd549343 100644 (file)
@@ -26,10 +26,10 @@ dist: all
        mkdir -p ../../../install/bin
        mkdir -p ../../../install/etc
        mkdir -p ../../../install/init.d
-       cp -a $(INSTALL) ../../../install/bin
-       cp -a $(ETC) ../../../install/etc
+       install --mode=555 $(INSTALL) ../../../install/bin
+       install --mode=444 $(ETC) ../../../install/etc
        #chmod 755 $(INSTALL)
-       cp -a $(INITD) ../../../install/init.d
+       install --mode=555 $(INITD) ../../../install/init.d
 
 clean:
 
index 66fe33df4a78d82e72640ecb9fdddd940173633b..ef7dc42173c7a6d75e301d3c823a6fe2d74d4a7b 100644 (file)
@@ -8,9 +8,10 @@ install: all
 dist: all
        mkdir -p ../../../../install/lib/python
        for i in `find . -name 'Xc.so'` ; do                           \
-               cp $$i ../../../../install/lib/python/`basename $$i` ; \
+               install --mode=755 $$i ../../../../install/lib/python/`basename $$i` ; \
        done
        python -c 'import py_compile, sys; py_compile.compile("XenoUtil.py")'
-       cp XenoUtil.py* ../../../../install/lib/python
+       install --mode=444 XenoUtil.py ../../../../install/lib/python
+       install --mode=644 XenoUtil.pyc ../../../../install/lib/python
 clean:
        rm -rf build *.pyc *.pyo *.o *.a *~
index 035e932cb7c6fd5a4db545d4f0ecd22bcee3c8f5..a55e56ace3b06511b723fccd5bf71b294805cbaf 100644 (file)
@@ -2,6 +2,7 @@
 #include <xeno/sched.h>
 #include <asm-i386/ptrace.h>
 #include <xeno/keyhandler.h> 
+#include <asm/apic.h>
 #include <asm/pdb.h>
 #include <xeno/list.h>
 
@@ -13,9 +14,6 @@ static const char hexchars[]="0123456789abcdef";
 
 static int remote_debug;
 
-int pdb_foobar = 0x123456;                                        /* testing */
-char *pdb_foobaz = "cambridge";                                   /* testing */
-
 #define PDB_BUFMAX 1024
 static char pdb_in_buffer[PDB_BUFMAX];
 static char pdb_out_buffer[PDB_BUFMAX];
@@ -677,13 +675,16 @@ void pdb_get_packet(char *buffer)
  * Return 1 if pdb is not interested in the exception; it should
  * be propagated to the guest os.
  */
-#define DEBUG_EXCEPTION      1
-#define BREAKPT_EXCEPTION    3
-#define KEYPRESS_EXCEPTION 136
+
+#define DEBUG_EXCEPTION     0x01
+#define BREAKPT_EXCEPTION   0x03
+#define KEYPRESS_EXCEPTION  0x88
+
 int pdb_handle_exception(int exceptionVector,
                         struct pt_regs *xen_regs)
 {
     int signal = 0;
+    int watchdog_save;
 
     /*
      * If PDB didn't set the breakpoint, is not single stepping, and the user
@@ -712,6 +713,9 @@ int pdb_handle_exception(int exceptionVector,
         xen_regs->eip--;
     }
 
+    watchdog_save = watchdog_on;
+    watchdog_on = 0;
+
     /* Generate a signal for GDB. */
     switch ( exceptionVector )
     {
@@ -722,7 +726,7 @@ int pdb_handle_exception(int exceptionVector,
     case BREAKPT_EXCEPTION: 
         signal = 5; break;                                 /* SIGTRAP */
     default:
-        printk("can't generate signal for unknown exception vector %d\n",
+        printk("pdb: can't generate signal for unknown exception vector %d\n",
                exceptionVector);
         break;
     }
@@ -739,6 +743,8 @@ int pdb_handle_exception(int exceptionVector,
     }
     while ( pdb_process_command(pdb_in_buffer, xen_regs) == 0 );
 
+    watchdog_on = watchdog_save;
+
     return 0;
 }
 
@@ -773,8 +779,8 @@ void initialize_pdb()
         return;
     }
 
-    printk("Initializing pervasive debugger (PDB) [%s] port %d, high %d\n",
-           opt_pdb, pdb_com_port, pdb_high_bit);
+    printk("Initializing pervasive debugger (PDB) on serial port %d %s\n",
+           pdb_com_port, pdb_high_bit ? "(high bit enabled)" : "");
 
     /* ack any spurrious gdb packets */
     pdb_put_char ('+');